"========================================================
" highlight all function
"========================================================
syn match   cfunction "\[^()]*)("me=e-2
syn match   cfunction "\\s*("me=e-1
hi cfunction        gui=none guifg=#b5a1ff
"========================================================
" highlight all math operator
"========================================================
" c math operators
syn match       cmathoperator     display "[-+\*/%=]"
" c pointer operators
syn match       cpointeroperator  display "->\|\."
" c logical   operators - boolean results
syn match       clogicaloperator  display "[!]=\="
syn match       clogicaloperator  display "=="
" c bit operators
syn match       cbinaryoperator   display "\(&\||\|\^\|>\)=\="
syn match       cbinaryoperator   display "\~"
syn match       cbinaryoperatorerror display "\~="
" more c logical operators - highlight in preference to binary
syn match       clogicaloperator  display "&&\|||"
syn match       clogicaloperatorerror display "\(&&\|||\)="

" math operator
hi cmathoperator            guifg=#3effe2
hi cpointeroperator         guifg=#3effe2
hi clogicaloperator         guifg=#3effe2
hi cbinaryoperator          guifg=#3effe2
hi cbinaryoperatorerror     guifg=#3effe2
hi clogicaloperator         guifg=#3effe2
hi clogicaloperatorerror    guifg=#3effe2
"========================================================
" my own datatype
"========================================================
"highlight Functions
syn match cFuntions display "[a-zA-Z_0-9]\{-1,}\s\{-0,}(\{1}"ms=s,me=e-1
hi def link cFuntions Title
syn keyword ctype size_t key_t pthread_t  
hi def link cmathoperator keyword
hi def link cpointeroperator keyword
hi def link clogicaloperatorerror keyword
